package cn.mmko.domain.order.adapter.repository;

import cn.mmko.domain.order.model.aggregate.CreateOrderAggregate;
import cn.mmko.domain.order.model.entity.OrderEntity;
import cn.mmko.domain.order.model.entity.PayOrderEntity;
import cn.mmko.domain.order.model.entity.ShopCartEntity;

import java.util.List;

public interface IOrderRepository {
    void doSaveOrder(CreateOrderAggregate orderAggregate);

    OrderEntity queryUnpaidOrder(ShopCartEntity shopCartEntity);

    void updateOrderPayInfo(PayOrderEntity payOrderEntity);

    void changeOrderPaySuccess(String orderId);

    boolean changeOrderClose(String orderId);

    List<String> queryTimeoutOrderList();

    List<String> queryNoPayNotifyOrder();
}
